:art: ThermometerMeasureInfo

huangqimin001 3 years ago
parent
commit
e384a988d6
1 changed files with 9 additions and 3 deletions
  1. 9 3
      api/eqpt_views.py

+ 9 - 3
api/eqpt_views.py

@@ -192,9 +192,12 @@ def upload_temperature(request):
192 192
     ThermometerMeasureLogInfo.objects.create(point_id=eqpt.point_id, macid=macid, name=name, sex=sex, birth_stamp=birth_stamp, phone=phone, start_stamp=start_stamp, end_stamp=end_stamp, temperature=temperature, upload_temperature_info=request.POST)
193 193
 
194 194
     if point_measure_window:
195
-        ThermometerMeasureInfo.objects.update_or_create(point_id=eqpt.point_id, point_measure_ymd=point_measure_ymd, point_measure_window=point_measure_window, macid=macid, defaults={
195
+        measure_info = ThermometerMeasureInfo.objects.get_or_create(point_id=eqpt.point_id, point_measure_ymd=point_measure_ymd, point_measure_window=point_measure_window, macid=macid, defaults={
196 196
             'temperature': temperature,
197 197
         })
198
+        if temperature > measure_info.temperature:
199
+            measure_info.temperature = temperature
200
+            measure_info.save()
198 201
 
199 202
     return response()
200 203
 
@@ -248,14 +251,17 @@ def mqtt_upload_temperature(payload):
248 251
         return
249 252
 
250 253
     point_measure_ymd = tc.local_string(format='%Y-%m-%d')
251
-    point_measure_window = point.current_measure_window
252 254
 
255
+    point_measure_window = point.current_measure_window
253 256
     eqpt.last_submit_at = tc.utc_datetime()
254 257
     eqpt.save()
255 258
 
256 259
     ThermometerMeasureLogInfo.objects.create(point_id=eqpt.point_id, macid=macid, start_stamp=start_stamp, end_stamp=end_stamp, temperature=temperature, temperature_src=ThermometerMeasureLogInfo.MQTT, upload_temperature_info=payload)
257 260
 
258 261
     if point_measure_window:
259
-        ThermometerMeasureInfo.objects.update_or_create(point_id=eqpt.point_id, point_measure_ymd=point_measure_ymd, point_measure_window=point_measure_window, macid=macid, defaults={
262
+        measure_info = ThermometerMeasureInfo.objects.get_or_create(point_id=eqpt.point_id, point_measure_ymd=point_measure_ymd, point_measure_window=point_measure_window, macid=macid, defaults={
260 263
             'temperature': temperature,
261 264
         })
265
+        if temperature > measure_info.temperature:
266
+            measure_info.temperature = temperature
267
+            measure_info.save()